//////////////////////////////////////////////////////////////////////////
// FileName:
// CreateBy:
// CreateDate:2010-9-18
// Description:
//		ManagementPolicy class
//
// Modify Log:
//
// Copyright:
/////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Auto.Components;

namespace Auto.Data.BusMan.Model
{
    [Serializable]
    public class ManagementPolicy
    {
        #region --Field--
        ///<summary>
        ///Data Table Bus_ManagementPolicy
        ///</summary>
        public const string TABLENAME_Bus_ManagementPolicy = "Bus_ManagementPolicy";
        /// <sumary> 
        /// (RecID Type:Int Len:0) 
        /// </sumary> 
        public const string FIELD_RecID = "RecID";
        /// <sumary> 
        /// (DocID Type:VarChar Len:20) 
        /// </sumary> 
        public const string FIELD_DocID = "DocID";
        /// <sumary> 
        /// (FileName Type:NVarChar Len:20) 
        /// </sumary> 
        public const string FIELD_FileName = "FileName";
        /// <sumary> 
        /// (ReleaseDivID Type:NVarChar Len:20) 
        /// </sumary> 
        public const string FIELD_ReleaseDivID = "ReleaseDivID";
        /// <sumary> 
        /// (ReleaseDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public const string FIELD_ReleaseDate = "ReleaseDate";
        /// <sumary> 
        /// (MainContent Type:NVarChar Len:4000) 
        /// </sumary> 
        public const string FIELD_MainContent = "MainContent";
        /// <sumary> 
        /// (PolicyFile Type:NVarChar Len:100) 
        /// </sumary> 
        public const string FIELD_PolicyFile = "PolicyFile";
        /// <sumary> 
        /// (RecDivID Type:VarChar Len:20) 
        /// </sumary> 
        public const string FIELD_RecDivID = "RecDivID";
        /// <sumary> 
        /// (RecAcct Type:VarChar Len:20) 
        /// </sumary> 
        public const string FIELD_RecAcct = "RecAcct";
        /// <sumary> 
        /// (RecDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public const string FIELD_RecDate = "RecDate";
        /// <sumary> 
        /// (Void Type:Bit Len:0) 
        /// </sumary> 
        public const string FIELD_Void = "Void";
        /// <sumary> 
        /// (VoidAcct Type:VarChar Len:20) 
        /// </sumary> 
        public const string FIELD_VoidAcct = "VoidAcct";
        /// <sumary> 
        /// (VoidDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public const string FIELD_VoidDate = "VoidDate";
        /// <sumary> 
        /// (Note Type:NVarChar Len:200) 
        /// </sumary> 
        public const string FIELD_Note = "Note";
        /// <sumary> 
        /// (UserAcct Type:VarChar Len:20) 
        /// </sumary> 
        public const string FIELD_UserAcct = "UserAcct";
        /// <sumary> 
        /// (LastUpdateDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public const string FIELD_LastUpdateDate = "LastUpdateDate";
        #endregion --Field--

        #region --Property--
        private int _recid;
        private string _docid;
        private string _filename;
        private string _releasedivid;
        private DateTime _releasedate;
        private string _maincontent;
        private string _policyfile;
        private string _recdivid;
        private string _recacct;
        private DateTime _recdate;
        private bool _void;
        private string _voidacct;
        private DateTime _voiddate;
        private string _note;
        private string _useracct;
        private DateTime _lastupdatedate;

        /// <sumary> 
        /// (RecID Type:Int Len:0) 
        /// </sumary> 
        public int RecID
        {
            set { _recid = value; }
            get { return _recid; }
        }

        /// <sumary> 
        /// (DocID Type:VarChar Len:20) 
        /// </sumary> 
        public string DocID
        {
            set { _docid = value; }
            get { return _docid; }
        }

        /// <sumary> 
        /// (FileName Type:NVarChar Len:20) 
        /// </sumary> 
        public string FileName
        {
            set { _filename = value; }
            get { return _filename; }
        }

        /// <sumary> 
        /// (ReleaseDivID Type:NVarChar Len:20) 
        /// </sumary> 
        public string ReleaseDivID
        {
            set { _releasedivid = value; }
            get { return _releasedivid; }
        }

        /// <sumary> 
        /// (ReleaseDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public DateTime ReleaseDate
        {
            set { _releasedate = value; }
            get { return _releasedate; }
        }

        /// <sumary> 
        /// (MainContent Type:NVarChar Len:4000) 
        /// </sumary> 
        public string MainContent
        {
            set { _maincontent = value; }
            get { return _maincontent; }
        }

        /// <sumary> 
        /// (PolicyFile Type:NVarChar Len:100) 
        /// </sumary> 
        public string PolicyFile
        {
            set { _policyfile = value; }
            get { return _policyfile; }
        }

        /// <sumary> 
        /// (RecDivID Type:VarChar Len:20) 
        /// </sumary> 
        public string RecDivID
        {
            set { _recdivid = value; }
            get { return _recdivid; }
        }

        /// <sumary> 
        /// (RecAcct Type:VarChar Len:20) 
        /// </sumary> 
        public string RecAcct
        {
            set { _recacct = value; }
            get { return _recacct; }
        }

        /// <sumary> 
        /// (RecDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public DateTime RecDate
        {
            set { _recdate = value; }
            get { return _recdate; }
        }

        /// <sumary> 
        /// (Void Type:Bit Len:0) 
        /// </sumary> 
        public bool Void
        {
            set { _void = value; }
            get { return _void; }
        }

        /// <sumary> 
        /// (VoidAcct Type:VarChar Len:20) 
        /// </sumary> 
        public string VoidAcct
        {
            set { _voidacct = value; }
            get { return _voidacct; }
        }

        /// <sumary> 
        /// (VoidDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public DateTime VoidDate
        {
            set { _voiddate = value; }
            get { return _voiddate; }
        }

        /// <sumary> 
        /// (Note Type:NVarChar Len:200) 
        /// </sumary> 
        public string Note
        {
            set { _note = value; }
            get { return _note; }
        }

        /// <sumary> 
        /// (UserAcct Type:VarChar Len:20) 
        /// </sumary> 
        public string UserAcct
        {
            set { _useracct = value; }
            get { return _useracct; }
        }

        /// <sumary> 
        /// (LastUpdateDate Type:SmallDateTime Len:0) 
        /// </sumary> 
        public DateTime LastUpdateDate
        {
            set { _lastupdatedate = value; }
            get { return _lastupdatedate; }
        }

        #endregion --Property--

        #region --New--
        /// <summary>
        /// Constructed Function
        /// </summary>
        public ManagementPolicy()
        {
            Init();
        }
        /// <summary>
        /// Constructed Function
        /// </summary>
        /// <param name="dr">DataRow</param>
        public ManagementPolicy(DataRow dr)
        {
            Init();
            SetModel(dr);
        }
        /// <summary>
        /// Constructed Function
        /// </summary>
        /// <param name="dt">DataTable</param>
        public ManagementPolicy(DataTable dt)
        {
            Init();
            SetModel(dt);
        }
        #endregion --New--

        #region --Private--
        /// <summary>
        /// Init The Private variable
        /// </summary>
        private void Init()
        {
            _recid = 0;
            _docid = string.Empty;
            _filename = string.Empty;
            _releasedivid = string.Empty;
            _releasedate = DateTime.MinValue;
            _maincontent = string.Empty;
            _policyfile = string.Empty;
            _recdivid = string.Empty;
            _recacct = string.Empty;
            _recdate = DateTime.MinValue;
            _void = false;
            _voidacct = string.Empty;
            _voiddate = DateTime.MinValue;
            _note = string.Empty;
            _useracct = string.Empty;
            _lastupdatedate = DateTime.MinValue;
        }
        /// <summary>
        /// SetModel By DataRow
        /// </summary>
        /// <param name="dr">DataRow</param>
        /// <returns>ManagementPolicy</returns>
        private ManagementPolicy SetModel(DataRow dr)
        {
            _recid = StrHelper.GetIntValue(dr[FIELD_RecID]);
            _docid = StrHelper.GetStringValue(dr[FIELD_DocID]);
            _filename = StrHelper.GetStringValue(dr[FIELD_FileName]);
            _releasedivid = StrHelper.GetStringValue(dr[FIELD_ReleaseDivID]);
            _releasedate = StrHelper.GetDateTimeValue(dr[FIELD_ReleaseDate]);
            _maincontent = StrHelper.GetStringValue(dr[FIELD_MainContent]);
            _policyfile = StrHelper.GetStringValue(dr[FIELD_PolicyFile]);
            _recdivid = StrHelper.GetStringValue(dr[FIELD_RecDivID]);
            _recacct = StrHelper.GetStringValue(dr[FIELD_RecAcct]);
            _recdate = StrHelper.GetDateTimeValue(dr[FIELD_RecDate]);
            //_void = StrHelper.GetBoolValue(dr[FIELD_Void]);
            //_voidacct = StrHelper.GetStringValue(dr[FIELD_VoidAcct]);
            //_voiddate = StrHelper.GetDateTimeValue(dr[FIELD_VoidDate]);
            _note = StrHelper.GetStringValue(dr[FIELD_Note]);
            _useracct = StrHelper.GetStringValue(dr[FIELD_UserAcct]);
            _lastupdatedate = StrHelper.GetDateTimeValue(dr[FIELD_LastUpdateDate]);
            return this;
        }
        /// <summary>
        /// SetModel By DataTable
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <returns>ManagementPolicy</returns>
        private ManagementPolicy SetModel(DataTable dt)
        {
            foreach (DataRow dr in dt.Rows)
            {
                SetModel(dr);
                break;
            }
            return this;
        }
        #endregion --Private--

    }
}

